import type { ElDropdown } from 'element-plus'
import type { Component, Ref } from 'vue'
import type { RouteLocationNormalizedLoaded } from 'vue-router'
import type { SFCWithInstall } from '../../helpers/installer'
import { withInstall } from '../../helpers/installer'
import ContextMenu from './src/ContextMenu.vue'

export type { ContextMenuSchema } from './src/types'

export interface ContextMenuExpose {
  elDropdownMenuRef: Ref<InstanceType<typeof ElDropdown>>
}

const ContextMenuInstaller = withInstall(ContextMenu) as SFCWithInstall<Component>
export { ContextMenu, ContextMenuInstaller }
